package com.eclipse.e0114_java8.课堂案列;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class 中间操作map映射 {
	public static void main(String[] args) {
//		List<Integer> list = Arrays.asList(1, 22, 333, 4444, 1);
		// map——接收 Lambda ， //
		// 将元素转换成其他形式或提取信息。接收一个函数作为参数，该函数会被应用到每个元素上，并将其 映射成一个新的元素。
//		 System.out.println("----------获取员工姓名-----------");
//		 Stream<String> str = list.stream().map((e) -> "q");
//		 str.forEach(System.out::println);
//		 System.out.println("-------------------转成大写------------------------");

//		List<String> strList = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee");
//
//		Stream<String> stream = strList.stream().map(String::toUpperCase);
//		stream.forEach(System.out::println);
		 
		 
		 //返回数组
		 List<String> list = Arrays.asList("2-2", "3-3-3");
		 Stream<String[]> strArr = list.stream().map(l -> l.split("-"));//将list里的每一个String 以-分隔 分隔出的每一个元素都是一个数组
		 
		 
		 Stream<String> stringStream = strArr.flatMap(arr -> Arrays.stream(arr));//把数组转成String
		 List<String> strList = stringStream.collect(Collectors.toList());//返回一个新的List
		 strList.forEach(System.out::println);
//		 stringStream.forEach(System.out::println);
	}
}
